Previous implementations of the network file system (NFS) protocol are stateless in that they do not associate states with client-server transactions. Some protocols benefit from statelessness in that application development may be simplified if no client-server transaction depends on another client-server transaction. However, previous implementations of NFS protocol may suffer from performance issues due to statelessness. For example, previous implementations of NFS protocol may experience lock management issues that may slow recovery.
Unlike the previous implementations, the current network file system (NFS) protocol is stateful, meaning that the effect of operations are dependent on the effect of previous operations and do not stand alone. In response to a system failure, such as a NFS server failure, conventional NFS protocols force clients to retransmit all previous state information and/or related data to the servers in a graceful recovery period. While effective in restoring service, doing so may inject unnecessary delays in NFS server startup time. These delays can be detrimental to the performance of “high availability” NFS storage devices.